From 417d6666e5923bdd716fd016f6f0aac45ab76585 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Sun, 4 Aug 2013 16:56:37 +0200 Subject: [PATCH] iconhelper: refactor some code into a single function https://bugzilla.gnome.org/show_bug.cgi?id=705443 --- gtk/gtkiconhelper.c | 70 +++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 38 deletions(-) diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c index d753198277..2200e3c503 100644 --- a/gtk/gtkiconhelper.c +++ b/gtk/gtkiconhelper.c @@ -178,6 +178,36 @@ ensure_icon_size (GtkIconHelper *self, *height_out = height; } +static GdkPixbuf * +ensure_stated_pixbuf_from_pixbuf (GtkIconHelper *self, + GtkStyleContext *context, + GdkPixbuf *pixbuf) +{ + GdkPixbuf *rendered; + GtkIconSource *source; + + G_GNUC_BEGIN_IGNORE_DEPRECATIONS; + + /* FIXME: use gtk_icon_info_load_icon? */ + + source = gtk_icon_source_new (); + gtk_icon_source_set_pixbuf (source, pixbuf); + /* The size here is arbitrary; since size isn't + * wildcarded in the source, it isn't supposed to be + * scaled by the engine function + */ + gtk_icon_source_set_size (source, + GTK_ICON_SIZE_SMALL_TOOLBAR); + gtk_icon_source_set_size_wildcarded (source, FALSE); + + rendered = gtk_render_icon_pixbuf (context, source, (GtkIconSize) -1); + gtk_icon_source_free (source); + + G_GNUC_END_IGNORE_DEPRECATIONS; + + return rendered; +} + static GdkPixbuf * ensure_stated_icon_from_info (GtkIconHelper *self, GtkStyleContext *context, @@ -210,28 +240,9 @@ ensure_stated_icon_from_info (GtkIconHelper *self, } else if (!symbolic) { - GtkIconSource *source; GdkPixbuf *rendered; - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - - /* FIXME: use gtk_icon_info_load_icon? */ - - source = gtk_icon_source_new (); - gtk_icon_source_set_pixbuf (source, destination); - /* The size here is arbitrary; since size isn't - * wildcarded in the source, it isn't supposed to be - * scaled by the engine function - */ - gtk_icon_source_set_size (source, - GTK_ICON_SIZE_SMALL_TOOLBAR); - gtk_icon_source_set_size_wildcarded (source, FALSE); - - rendered = gtk_render_icon_pixbuf (context, source, (GtkIconSize) -1); - gtk_icon_source_free (source); - - G_GNUC_END_IGNORE_DEPRECATIONS; - + rendered = ensure_stated_pixbuf_from_pixbuf (self, context, destination); g_object_unref (destination); destination = rendered; } @@ -653,26 +664,9 @@ ensure_stated_surface_from_info (GtkIconHelper *self, } else if (!symbolic) { - GtkIconSource *source; GdkPixbuf *rendered; - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - - source = gtk_icon_source_new (); - gtk_icon_source_set_pixbuf (source, destination); - /* The size here is arbitrary; since size isn't - * wildcarded in the source, it isn't supposed to be - * scaled by the engine function - */ - gtk_icon_source_set_size (source, - GTK_ICON_SIZE_SMALL_TOOLBAR); - gtk_icon_source_set_size_wildcarded (source, FALSE); - - rendered = gtk_render_icon_pixbuf (context, source, (GtkIconSize) -1); - gtk_icon_source_free (source); - - G_GNUC_END_IGNORE_DEPRECATIONS; - + rendered = ensure_stated_pixbuf_from_pixbuf (self, context, destination); g_object_unref (destination); destination = rendered; } -- 2.30.2